package com.wb.core11IO.练习;

import java.io.File;

/**
 * @author 黄衡熙
 * @version 1.0
 */
/*
 删除指定目录下所有的空目录,包括子目录下的空目录
* */
public class Test {
    public static void main(String[] args) {
        File file = new File("D:\\Desktop\\网博\\测试文档");
        try {
            deleteEmptyDirs(file);
        } catch (FileNotExistException e) {
            System.out.println(e.getMessage());
        }
    }
    public static void deleteEmptyDirs(File file) throws FileNotExistException {
        if (!file.exists()) {
            throw new FileNotExistException("目录不存在：" + file.getAbsolutePath());
        }
        //先处理最底层子文件夹，一层一层往外走，找到空的就删除
        File[] files = file.listFiles();
            for (File f : files) {
                if (f.isDirectory()) {
                    deleteEmptyDirs(f);
                }
            }
        files = file.listFiles();
        if (files != null && files.length == 0) {
            if (file.delete()) {
                System.out.println("已删除空目录：" + file.getAbsolutePath());
            }
        }
    }
}
